﻿using System;
using System.Configuration;
using System.Collections.Generic;
using System.Windows.Forms;
using System.IO;

namespace BondedWareHouse
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            clsPublic.G_FilePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);


            string strCnn;
            strCnn = ConfigurationManager.AppSettings["ConnectionString"].ToString();

            string strMdb;
            if (File.Exists(Application.StartupPath + "\\BondedWarehouse.mdb"))
            {
                strMdb = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\BondedWarehouse.mdb";
                   clsPublic.DB = new clsDBAccess(strMdb);
            }
            else
            {
                clsPublic.DB = new clsDBAccess(strCnn);
            }
            
            clsPublic.G_ControlAutoGenerateInvoiceNo = bool.Parse(ConfigurationManager.AppSettings["AutoGenerateInvoiceNo"].ToString());
            clsPublic.G_COM  = ConfigurationManager.AppSettings["ScannerCOM"].ToString();
            
            try
            {
                F_Login frm = new F_Login();
                frm.ShowDialog();


                if (frm.DialogResult == DialogResult.OK)
                    Application.Run(new F_MainForm());
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
        ////////////////////////////////////////////////////////////////////////////
        // OutLine   : G_Control_saveFileDialog
        // Parameter : str_Title            :string     :タイトル
        //           : str_InitialDir       :string     :初期表示ディレクトリ
        //           : str_InitialFile      :string     :初期表示ファイル
        //           : str_Filter           :string     :フィルタリング
        // Return    : ダイアログで選択したファイルパス
        // Contents  : ファイルセーブ用のダイアログ表示
        // Makes     : 渡辺
        // History   : 2007/06/14       : 初版
        //           :
        ////////////////////////////////////////////////////////////////////////////
        public static string G_Control_saveFileDialog(string str_Title, string str_InitialDir, string str_InitialFile, string str_Filter)
        {
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();

            // ダイアログのタイトルを設定する
            saveFileDialog1.Title = str_Title;

            // 初期表示するディレクトリを設定する
            saveFileDialog1.InitialDirectory = str_InitialDir;

            // 初期表示するファイル名を設定する
            saveFileDialog1.FileName = str_InitialFile;

            // ファイルのフィルタを設定する
            //                saveFileDialog1.Filter = "テキスト ファイル|*.txt;*.log|すべてのファイル|*.*";
            saveFileDialog1.Filter = str_Filter;

            // ファイルの種類 の初期設定を 2 番目に設定する (初期値 1)
            saveFileDialog1.FilterIndex = 2;

            // ダイアログボックスを閉じる前に現在のディレクトリを復元する (初期値 false)
            saveFileDialog1.RestoreDirectory = true;

            // [ヘルプ] ボタンを表示する (初期値 false)
            saveFileDialog1.ShowHelp = true;

            // 存在しないファイルを指定した場合は、
            // 新しく作成するかどうかの問い合わせを表示する (初期値 false)
            saveFileDialog1.CreatePrompt = false;

            // 存在しているファイルを指定した場合は、
            // 上書きするかどうかの問い合わせを表示する (初期値 true)
            saveFileDialog1.OverwritePrompt = true;

            // 存在しないファイル名を指定した場合は警告を表示する (初期値 false)
            //saveFileDialog1.CheckFileExists = true;

            // 存在しないパスを指定した場合は警告を表示する (初期値 true)
            //saveFileDialog1.CheckPathExists = true;

            // 拡張子を指定しない場合は自動的に拡張子を付加する (初期値 true)
            //saveFileDialog1.AddExtension = true;

            // 有効な Win32 ファイル名だけを受け入れるようにする (初期値 true)
            //saveFileDialog1.ValidateNames = true;

            // ダイアログを表示し、戻り値が [OK] の場合は、選択したファイルを表示する
            string str_FilePath = "";
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                str_FilePath = saveFileDialog1.FileName;
            }

            // 不要になった時点で破棄する (正しくは オブジェクトの破棄を保証する を参照)
            saveFileDialog1.Dispose();

            return str_FilePath;
        }
    }
   
}